<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <!-- jq -->
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 模板引擎 -->
    <script src="./libs/template-web.js"></script>
    <!-- 引入日期插件 -->
    <link rel="stylesheet" href="./libs/jedate/css/jeDate-test.css">
    <link rel="stylesheet" href="./libs/jedate/css/jedate.css">
    <script src="./libs/jedate/js/jedate.js"></script>
    <!-- 引入富文本插件 -->
    <script src="./libs/wangEditor/wangEditor.js"></script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            文章编辑
        </div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputTitle" class="col-sm-2 control-label">文章标题：</label>
                    <div class="col-sm-10">
                        <input type="text" name="title" class="form-control title" id="inputTitle" value="文章标题文字">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCover" class="col-sm-2 control-label">文章封面：</label>
                    <div class="col-sm-10">
                        <img src="images/pic06.jpg" class="article_cover">
                        <input name="cover" type="file" id="inputCover">
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputCategory" class="col-sm-2 control-label">文章类别：</label>
                    <div class="col-sm-4">
                        <select class="form-control category" name="categoryId">
                            <option>类别一</option>
                            <option>类别二</option>
                            <option>类别三</option>
                            <option selected>类别四</option>
                            <option>类别五</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-2 control-label">发布时间：</label>
                    <!-- 日期插件结构 -->
                    <div class="jeinpbox col-sm-4">
                        <input type="text" class="jeinput" id="testico" name='date' placeholder="YYYY-MM-DD">
                        <div class="icons jebtns" onclick="jeDate('#testico',{trigger:false,format: 'YYYY-MM-DD'})">
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">文章内容：</label>
                    <!-- 富文本控件 -->
                    <div id="div1" class="col-sm-10">
                        <p>请 <b>输入你写的文章</b> 棒棒哒</p>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-success btn-edit">修改</button>
                        <button type="submit" class="btn btn-default btn-draft">存为草稿</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
    <script src="./js/http.js"></script>
    <!-- 下拉菜单 模板 -->
    <script id="classifyList" type="text/html">
        {{each data v}}
        <!-- 将value设置成id值 方便后续发AJAX请求的时候利用id去识别分类 -->
        <option value="{{v.id}}">{{v.name}}</option>
        {{/each}}
    </script>
    <script>
        $(function () {
            // 一:根据id获取文章详情
            //地址中截取id值
            //在文章列表中点击编辑按钮会跳转到文章编辑页面 同时地址中会将id传过去 而id的获取也是从编辑文章页面的地址中获取的
            //因为编辑页面的文章分类也是根据ajax请求获得的,而设置文章分类也是ajax请求获得 所以可能会出现ajax返回数据时间不同的情况 所以要给设置文章分类延迟请求 即设置定时器
            let articleId = window.location.search.split('=')[1];
            setTimeout(function () {
                $.ajax({
                    url: BigNew.article_search,
                    data: {
                        id: articleId
                    },
                    success: function (backData) {
                        if (backData.code == 200) {
                            $('#inputTitle').val(backData.data.title);
                            $('.article_cover').attr('src', backData.data.cover);
                            $('.category').val(backData.data.categoryId);
                            $('#testico').val(backData.data.date);
                            editor.txt.html(backData.data.content);
                        }
                    }
                })

            }, 10)
            //二:加载文章分类
            $.ajax({
                url: BigNew.category_list,
                success: function (backData) {
                    // console.log(backData);
                    if (backData.code == 200) {
                        // 2.将返回的分类数据利用模板引擎渲染到页面
                        let resoption = template('classifyList', backData);
                        $('.category').html(resoption);

                    }
                }
            })
            // 2.插入日期控件和富文本控件
            //三:插入日期插件
            jeDate("#testico", {
                ////日期格式
                format: "YYYY-MM-DD",
                ////是否初始化时间，默认不初始化时间
                isinitVal: true,
                //是否显示今天或本月 
                isToday: true,
                //弹出层的层级高度  
                //其后富文本默认层级是10000,所以以下层级数要高于他    
                zIndex: 11000,
                //主题颜色  
                theme: {
                    bgcolor: "#00A1CB",
                    color: "#ffffff",
                    pnColor: "#00CCFF"
                },
                //选中后点确定按钮才关闭弹层 
                onClose: true,
            });
            //四:插入富文本控件

            const E = window.wangEditor;
            const editor = new E('#div1');
            editor.create();
            // 五:头像预览
            // 1.为file类设置onchange事件
            $('#inputCover').on('change', function () {
                // 2.files方法选中文件
                let fileTarget = this.files[0];
                // 3.为选中的文件设置地址
                let url = URL.createObjectURL(fileTarget);
                // 4.为图片添加地址
                $('.article_cover').attr('src', url);

            })
            // 六:设置发布按钮
            $('.btn-edit').on('click', function (e) {
                e.preventDefault();
                let fd = new FormData($('form')[0]);
                let getContent = editor.txt.html();
                fd.append('id', articleId);
                fd.append('content', getContent);
                fd.append('state', '已发布');
                $.ajax({
                    type: 'post',
                    url: BigNew.article_edit,
                    data: fd,
                    contentType: false,
                    processData: false,
                    success: function (backData) {
                        alert('修改成功');
                        //发布成功后跳转至列表页 并高亮列表
                        parent.$('.level02 li:eq(0)').click();
                        window.location.href = './article_list.html';
                    }

                })
            })
            //六:存为草稿
            $('.btn-draft').on('click', function (e) {
                e.preventDefault();
                let fd = new FormData($('form')[0]);
                let getContent = editor.txt.html();
                fd.append('id', articleId);
                fd.append('content', getContent);
                fd.append('state', '草稿');
                $.ajax({
                    type: 'post',
                    url: BigNew.article_edit,
                    data: fd,
                    contentType: false,
                    processData: false,
                    success: function (backData) {
                        alert('修改为草稿成功');
                        //发布成功后跳转至列表页 并高亮列表
                        parent.$('.level02 li:eq(0)').click();
                        window.location.href = './article_list.html';
                    }

                })
            })
        })
    </script>
</body>

</html>